function createApp(appType, appName, appIcon, appDescr, appData) {
  return {
    appName: appName,
    appIconImg: appIcon,
    appDescr: appDescr || appName,
    appType: appType,
    appData: appData
  }
}

const appHelper = {
  // iframe应用
  createIframeApp: function (appName, appDescr, url, appIcon) {
    const appData = { url }
    return createApp('iframeApp', appName, appIcon, appDescr, appData)
  },
  // outerUrl外链应用
  createOuterUrlApp: function (appName, appDescr, url, appIcon) {
    const appData = { url }
    return createApp('outerUrl', appName, appIcon, appDescr, appData)
  },
  // localApp当前应用的子应用
  createLocalApp: function (appName, appDescr, appIcon, componentName) {
    const appData = {
      component: componentName  // 用于标识要加载的本地组件名称
    }
    return createApp('localApp', appName, appIcon, appDescr, appData)
  },
  // systemAPP系统应用（特殊当前应用，不可被卸载，默认被安装）
  createSystemApp: function (appName, appDescr, appIcon) {
    const appData = {}
    return createApp('systemApp', appName, appIcon, appDescr, appData)
  },
  // agent智能体应用
  createAgentApp: function (appName, appDescr, appIcon, systemPrompt) {
    const appData = {
      component: 'AiChatbox',  // 使用AiChatbox组件
      systemPrompt: systemPrompt // 系统提示词
    }
    return createApp('agent', appName, appIcon, appDescr, appData)
  }
}

// 从本地存储获取自定义Agent列表
const customAgents = JSON.parse(localStorage.getItem('customAgents') || '[]')

const applist = [
  appHelper.createIframeApp(
    '百度搜索',
    '应用描述',
    'https://www.baidu.com',
    new URL('@/assets/app/baidu.webp', import.meta.url).href
  ),
  appHelper.createIframeApp(
    '新浪搜索',
    '应用描述',
    'https://www.sina.com.cn',
    new URL('@/assets/app/sina.webp', import.meta.url).href
  ),
  appHelper.createIframeApp(
    '飞猪AI导航',
    '收集了各种各样的AI工具',
    'https://feizhuke.com/',
    new URL('@/assets/app/pig-app.webp', import.meta.url).href
  ),
  appHelper.createOuterUrlApp(
    'DeepSeek Chat',
    'DeepSeek Chat官网的网页版本',
    'https://chat.deepseek.com/',
    new URL('@/assets/app/deepseek.webp', import.meta.url).href
  ),
  appHelper.createOuterUrlApp(
    'Photoshop',
    '稿定在线Photoshop',
    'https://ps.gaoding.com/#/',
    new URL('@/assets/app/photoshop.webp', import.meta.url).href
  ),
  appHelper.createLocalApp(
    '分镜大师',
    '解析coze生成的分镜脚本',
    new URL('@/assets/app/storyBoard.jpeg', import.meta.url).href,
    'Storyboard'  // 添加组件名称参数
  ),
  appHelper.createLocalApp(
    '头像制作',
    '使用coze工作流制作头像',
    new URL('@/assets/app/headImgMaker.jpg', import.meta.url).href,
    'GenHeadImg'  // 添加组件名称参数
  ),
  // 添加自定义Agent应用
  ...customAgents.map(agent => appHelper.createAgentApp(
    agent.name,
    agent.description,
    agent.icon,
    agent.systemPrompt
  ))
]

export { appHelper }  // 导出appHelper以供其他组件使用
export default applist
